A virtual private network (VPN) is a mechanism that allows for secure communications with a private network over a public network. For example, a VPN allows users to access a corporate intranet while away from the office. A VPN extends a private network over a public network by creating a tunnel, which is a virtual point-to-point link between a pair of nodes that are separated by any number of networks. Conventionally, a VPN is implemented either at the Internet layer or the Transport layer. Some operating systems such as Windows® and Android® support IP VPN (Internet layer), while other operating systems such as iOS® support TCP VPN (Transport layer). It is challenging to support devices that use different types of VPN protocols. For example, a corporate intranet might only accommodate Internet layer VPN and be unable to support Transport layer VPN or vice versa.